
<!DOCTYPE html>
<html lang="en">
    <head><meta name="generator" content="Hexo 3.9.0">
    
        <title>FairyGUI - 常见问题</title>
    
        <meta charset="utf-8">
        <meta name="description" content="FairyGUI教程">
        <meta name="keywords" content="FairyGUI,FGUI,FairyGUI教程">
        
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

        <meta property="og:type" content="article">
        <meta property="og:title" content="-常见问题FairyGUI">
        <meta property="og:description" content="FairyGUI教程">

        <meta name="twitter:card" content="summary">
        <meta name="twitter:title" content="常见问题 — FairyGUI">
        <meta name="twitter:description" content="FairyGUI教程">

      <!--  <link href='//fonts.proxy.ustclug.org/css?family=Source+Sans+Pro:300,400,600|Roboto Mono' rel='stylesheet' type='text/css'> -->

        <!-- main page styles -->
        <link rel="stylesheet" href="/docs/css/page.css">

        <!-- this needs to be loaded before guide's inline scripts -->
        <script src="/docs/js/vue.min.js"></script>
        <script>window.PAGE_TYPE = "guide_unity"</script>
    </head>
    <body class="docs">        <div id="mobile-bar" data-bg-text="FairyGUI">
            <a class="menu-button"></a>
        </div>
        <div id="header">
  <ul id="nav">
    <li><a href="/docs/guide/" class="nav-link current">教程</a></li>
<li><a href="/docs/examples/" class="nav-link">在线示例</a></li>
<li><a href="/docs/release_notes/" class="nav-link">发行日志</a></li>
<li><a href="/" class="nav-link">首页</a></li>
  </ul>
</div>

        
            <div id="main" class="fix-sidebar">
                
                    
    <div class="sidebar">
    <ul class="main-menu">
        <li><a href="/docs/guide/" class="nav-link current">教程</a></li>
<li><a href="/docs/examples/" class="nav-link">在线示例</a></li>
<li><a href="/docs/release_notes/" class="nav-link">发行日志</a></li>
<li><a href="/" class="nav-link">首页</a></li>
    </ul>
    <div class="list">
        <ul class="menu-root">
            

	 			
	                
	                <li>
	                    <a href="/docs/guide/index.html" class="sidebar-link">导读</a>
	                </li>
	            
	
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/index.html" class="sidebar-link">编辑器使用基础</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/project_settings.html" class="sidebar-link">项目设置</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/package.html" class="sidebar-link">包</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/branch.html" class="sidebar-link">分支</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/publish.html" class="sidebar-link">发布</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/object.html" class="sidebar-link">元件</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/image.html" class="sidebar-link">图片</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/movieclip.html" class="sidebar-link">动画</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/graph.html" class="sidebar-link">图形</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/loader.html" class="sidebar-link">装载器</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/text.html" class="sidebar-link">文本</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/richtext.html" class="sidebar-link">富文本</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/group.html" class="sidebar-link">组</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/component.html" class="sidebar-link">组件</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/scrollpane.html" class="sidebar-link">滚动容器</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/controller.html" class="sidebar-link">控制器</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/relation.html" class="sidebar-link">关联系统</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/label.html" class="sidebar-link">标签</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/button.html" class="sidebar-link">按钮</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/combobox.html" class="sidebar-link">下拉框</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/progressbar.html" class="sidebar-link">进度条</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/slider.html" class="sidebar-link">滑动条</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/scrollbar.html" class="sidebar-link">滚动条</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/list.html" class="sidebar-link">列表</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/tree.html" class="sidebar-link">树</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/popup.html" class="sidebar-link">Popup</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/dragdrop.html" class="sidebar-link">Drag&Drop</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/window.html" class="sidebar-link">窗口系统</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/transition.html" class="sidebar-link">动效</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/adaptation.html" class="sidebar-link">适配</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/i18n.html" class="sidebar-link">多国语言</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/export.html" class="sidebar-link">导入和导出</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/preference.html" class="sidebar-link">偏好设置</a>
	                </li>
	            
	                
	                <li>
	                    <a href="/docs/guide/editor/plugin.html" class="sidebar-link">插件</a>
	                </li>
	            
	
	            
	                
	                
	                <li><h3>SDK</h3></li>
	                
	                <li>
	                    <a href="/docs/guide/sdk/laya.html" class="sidebar-link">LayaAir</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/sdk/egret.html" class="sidebar-link">Egret</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/sdk/cocos2dx.html" class="sidebar-link">Cocos2dx</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/sdk/creator.html" class="sidebar-link">Cocos Creator</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/sdk/cryengine.html" class="sidebar-link">Cry Engine</a>
	                </li>
	            

	            
	                
	                
	                <li><h3>SDK - Unity</h3></li>
	                
	                <li>
	                    <a href="/docs/guide/unity/index.html" class="sidebar-link">显示UI面板</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/transform.html" class="sidebar-link">坐标系统</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/atlas.html" class="sidebar-link">纹理集的处理</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/font.html" class="sidebar-link">字体的处理</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/input.html" class="sidebar-link">输入处理</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/event.html" class="sidebar-link">事件机制</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/insert3d.html" class="sidebar-link">插入模型/粒子/Spine/Canvas</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/uipainter.html" class="sidebar-link">曲面UI</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/drawcall.html" class="sidebar-link">DrawCall优化</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/lua.html" class="sidebar-link">在Lua中使用</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/special.html" class="sidebar-link">特色功能</a>
	                </li>
	            
	                
	                
	                <li>
	                    <a href="/docs/guide/unity/faq.html" class="sidebar-link current">常见问题</a>
	                </li>
	            

            
        </ul>
    </div>
</div>


<div class="content guide_unity with-sidebar ">
    
      <h1>常见问题</h1>
    
    <h2 id="提示旧的包格式"><a href="#提示旧的包格式" class="headerlink" title="提示旧的包格式"></a>提示旧的包格式</h2><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">FairyGUI: old package format found in &apos;XXXX&apos;</span><br></pre></td></tr></table></figure>
<p>你使用了新版本的SDK(&gt;=3.0)，但编辑器导出的格式是XML格式。新版本SDK已经不再支持这种格式，请在发布对话框，全局设置，勾选“使用二进制格式”。详情参考<a href="../editor/upgrade_binary_format.html">升级到二进制格式</a></p>
<h2 id="包已经正确放置到Unity项目里，但包-组件对话框看不到这个包以及它里面的组件"><a href="#包已经正确放置到Unity项目里，但包-组件对话框看不到这个包以及它里面的组件" class="headerlink" title="包已经正确放置到Unity项目里，但包/组件对话框看不到这个包以及它里面的组件"></a>包已经正确放置到Unity项目里，但包/组件对话框看不到这个包以及它里面的组件</h2><p>请检查包文件的名字是不是xxx_fui这样子，是的话那就是你已经使用了二进制的包格式，但SDK还是老版本的，请使用3.0以上的SDK。</p>
<h2 id="UI包加载失败"><a href="#UI包加载失败" class="headerlink" title="UI包加载失败"></a>UI包加载失败</h2><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">FairyGUI: invalid package &apos;XXXX&apos;, </span><br><span class="line">if the files is checked out from git, </span><br><span class="line">make sure to disable autocrlf option!</span><br></pre></td></tr></table></figure>
<p>如果你使用的FairyGUI编辑器版本小于3.1.5，那么包描述文件的格式为纯文本，当这个文件从GIT上拉下来时，有可能由于GIT的自动转换换行符功能导致文件内容发生变化从而造成FairyGUI识别错误。解决办法是关闭GIT的自动转换换行符功能，然后再重新拉一次下来。</p>
<p>如果你使用的FairyGUI编辑器版本大于等于3.1.5，那么包描述文件的格式已修改为二进制，不再受GIT的影响。仍然出现这个错误的原因是新的格式需要Unity SDK 1.8.3或以上版本支持。旧版本无法识别这个格式，就会报这个错误。解决办法是升级你的Unity SDK，升级你的Unity SDK，升级你的Unity SDK，重要事情说三遍。<br>如果暂时不想升级，可以修改xxx.fairy（你的项目描述文件），将里面的<code>version=&quot;3.1&quot;</code>改成<code>version=&quot;3&quot;</code>，这样编辑器就会使用旧的文本格式发布。</p>
<p>除了上面这个错误，如果包仍然不能加载，检查包名和路径是否正确，特别要注意包只能放置在Resources目录或者它的子目录下，否则就只能打AB包。再看看是不是Unity的项目放置在了带中文名称的目录，这都有可能造成载入失败。</p>
<h2 id="显示白屏-提示atlas-not-found"><a href="#显示白屏-提示atlas-not-found" class="headerlink" title="显示白屏/提示atlas not found"></a>显示白屏/提示atlas not found</h2><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">FairyGUI: texture &apos;atlas0.png&apos; not found in xxx</span><br></pre></td></tr></table></figure>
<p>Unity5.5版本开始，纹理设置新增了<a href="http://ask.fairygui.com/?/question/1" target="_blank" rel="noopener">TextureShape</a>属性，把他设置为2d就可以了。 </p>
<h2 id="运行报错且看不到界面，但编辑模式没问题"><a href="#运行报错且看不到界面，但编辑模式没问题" class="headerlink" title="运行报错且看不到界面，但编辑模式没问题"></a>运行报错且看不到界面，但编辑模式没问题</h2><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">Create Component1@Package1 failed!</span><br></pre></td></tr></table></figure>
<p>这种错误一般是因为使用UIPanel，原因可能有：</p>
<ol>
<li>你的UI包没有正确放置到<strong>Resources</strong>目录，或者Resources拼错了！太多新手犯这样的错误。</li>
<li>如果有跨包引用，需要使用AddPackage手动载入依赖包，并且注意，AddPackage必须在UIPanel创建之前，建议放到Awake。</li>
<li>如果包发布后移动过位置，或者修改过名称，重新设置一下UIPanel的包和组件名。</li>
</ol>
<h2 id="显示不出图片-文字，但没有报错"><a href="#显示不出图片-文字，但没有报错" class="headerlink" title="显示不出图片/文字，但没有报错"></a>显示不出图片/文字，但没有报错</h2><p>项目中没有放置FairyGUI的着色器，即插件里Resources/Shaders里的着色器。请重新安装插件。</p>
<h2 id="UI显示有重复，或者UI销毁后依然显示"><a href="#UI显示有重复，或者UI销毁后依然显示" class="headerlink" title="UI显示有重复，或者UI销毁后依然显示"></a>UI显示有重复，或者UI销毁后依然显示</h2><ol>
<li>场景里没有放置主相机。</li>
<li>主相机的ClearFlags错误设置为了Depth。</li>
<li>场景里还有其他相机，且它的Culling Mask设置勾选了UI。</li>
</ol>
<h2 id="突然出现文字都变成紫色，然后又恢复正常"><a href="#突然出现文字都变成紫色，然后又恢复正常" class="headerlink" title="突然出现文字都变成紫色，然后又恢复正常"></a>突然出现文字都变成紫色，然后又恢复正常</h2><p>参考<a href="font.html#常见问题">字体</a>。</p>
<h2 id="层级显示错误"><a href="#层级显示错误" class="headerlink" title="层级显示错误"></a>层级显示错误</h2><p>如果你看到了层级错乱的情况出现，那多半是因为fairyBatching的影响。在<a href="drawcall.html">DrawCall优化</a>这篇教程里已经有提到，这里再说明一下。</p>
<p>对于打开了fairyBatching的组件，当开发者自己调用SetPosition等API改变子元件或者孙子元件的位置、大小，旋转或缩放，并不会自动触发深度调整，例如一个图片原来显示在一个窗口里的顶层，你用Tween将它从原来的位置移到另外一个位置，这个图片就有可能被窗口里的其他元素遮挡。这时开发者需要手动触发深度调整，例如：</p>
<figure class="highlight csharp"><table><tr><td class="code"><pre><span class="line">aObject.InvalidateBatchingState();</span><br></pre></td></tr></table></figure>
<p>这个API并不需要由开启了fairyBatching的组件调用，aObject可以是任何一个内含的元件。并且你可以在任何时间调用，每帧调用也可以，只要你确认是需要。它的消耗不算大，但也不能说没有。</p>
<p>如果是动效过程观察到这种情况，设置动效的invalidateBatchingEveryFrame=true即可。</p>
<h2 id="图片拼接-平铺有缝"><a href="#图片拼接-平铺有缝" class="headerlink" title="图片拼接/平铺有缝"></a>图片拼接/平铺有缝</h2><p>双击图片，在图片属性对话框中勾选“重复边缘像素”。</p>
<h2 id="场景里出现CaptureCamera"><a href="#场景里出现CaptureCamera" class="headerlink" title="场景里出现CaptureCamera"></a>场景里出现CaptureCamera</h2><p>参考<a href="special.html#PaintMode">PaintMode</a></p>
<h2 id="出现需要定义层的警告"><a href="#出现需要定义层的警告" class="headerlink" title="出现需要定义层的警告"></a>出现需要定义层的警告</h2><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">Please define two layers named &apos;VUI&apos; and &apos;Hidden VUI&apos; &quot;</span><br></pre></td></tr></table></figure>
<p>参考<a href="special.html#PaintMode">PaintMode</a></p>
<h2 id="放置UI到其他Layer"><a href="#放置UI到其他Layer" class="headerlink" title="放置UI到其他Layer"></a>放置UI到其他Layer</h2><p>可以的，但你需要使用源码版本。将StageCamera.cs里的LayerName改掉就行了。</p>
<h2 id="Stage-LateUpdate函数CPU占用过高"><a href="#Stage-LateUpdate函数CPU占用过高" class="headerlink" title="Stage.LateUpdate函数CPU占用过高"></a>Stage.LateUpdate函数CPU占用过高</h2><p>Stage.LateUpdate不但包含了FairyGUI自身的消耗，而且因为他是发出事件的源头，所以也包含了事件处理逻辑的消耗 。所以进入Deep Profiler模式，展开Stage.LateUpdate，查看你的事件处理函数的消耗。FairyGUI自身的消耗是在Container.Update下，在非Deep Profiler模式下是很少的（注意：Deep Profile下的数据只能看占比值，不能看绝对值，因为这种Profile模式自身产生的消耗也是很大的）。</p>
<h2 id="DrawCall过高"><a href="#DrawCall过高" class="headerlink" title="DrawCall过高"></a>DrawCall过高</h2><p>开启了FairyBatching后，仍然觉得DrawCall过高的话，可以使用Unity的工具Frame Debugger排查。可以看看是不是过多的使用了遮罩（溢出隐藏、滚动），或者<strong>元件之间不合理的重叠</strong>。另外大段文本、图片平铺、使用滤镜、BlendMode也会阻断DrawCall的合并。</p>
<h2 id="UI包卸载后在Profiler里看到依然有Asset没释放"><a href="#UI包卸载后在Profiler里看到依然有Asset没释放" class="headerlink" title="UI包卸载后在Profiler里看到依然有Asset没释放"></a>UI包卸载后在Profiler里看到依然有Asset没释放</h2><p>这可能是Unity编辑器自身对贴图等资源的引用。真实运行环境不会有。</p>
<h2 id="有长按事件吗"><a href="#有长按事件吗" class="headerlink" title="有长按事件吗"></a>有长按事件吗</h2><p>长按处理使用LongPressGesture。</p>
<h2 id="FairyGUI和UGUI可以共存吗"><a href="#FairyGUI和UGUI可以共存吗" class="headerlink" title="FairyGUI和UGUI可以共存吗"></a>FairyGUI和UGUI可以共存吗</h2><p>可以的。参考教程<a href="insert3d.html">插入模型/粒子/Canvas</a>。</p>
<h2 id="Lua不能侦听事件"><a href="#Lua不能侦听事件" class="headerlink" title="Lua不能侦听事件"></a>Lua不能侦听事件</h2><figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">LuaException: Delegate FairyGUI.EventCallback1 not register</span><br></pre></td></tr></table></figure>
<p>如果你确认已经执行了Gen Delegates，那么唯一可能的原因就是DelegateFactory没有init，请检查第三方框架的问题。</p>
<h2 id="FairyGUI支持XLua吗"><a href="#FairyGUI支持XLua吗" class="headerlink" title="FairyGUI支持XLua吗"></a>FairyGUI支持XLua吗</h2><p>无论tolua、slua还是xlua，都是C# binding的方案。FairyGUI是使用C#写的，且没有引用到除了系统库、Unity库外的任何第三方库，所以不存在不支持某某lua的说法。xlua和FairyGUI结合使用的例子可以百度“FairyGUI xlua”。</p>
<h2 id="使用UIConfig-buttonSoundVolume改变全局按钮音量无效"><a href="#使用UIConfig-buttonSoundVolume改变全局按钮音量无效" class="headerlink" title="使用UIConfig.buttonSoundVolume改变全局按钮音量无效"></a>使用UIConfig.buttonSoundVolume改变全局按钮音量无效</h2><p>UIConfig.buttonSoundVolume仅用于初始化设置，后续改变是无效的。如果要控制全局声音的开关或音量，可以这样：</p>
<figure class="highlight csharp"><table><tr><td class="code"><pre><span class="line"><span class="comment">//开关声音</span></span><br><span class="line">GRoot.inst.EnabledSound();</span><br><span class="line">GRoot.inst.DisableSound();</span><br><span class="line"></span><br><span class="line"><span class="comment">//调整全局声音音量，这个包括按钮声音和动效播放的声音</span></span><br><span class="line">GRoot.inst.soundVolume = <span class="number">0.5f</span>;</span><br></pre></td></tr></table></figure>
<h2 id="FairyGUI可以播放视频吗"><a href="#FairyGUI可以播放视频吗" class="headerlink" title="FairyGUI可以播放视频吗"></a>FairyGUI可以播放视频吗</h2><p>播放视频的功能Unity有提供，不需要FairyGUI支持。你可以使用一个Loader，然后将视频对象的texture赋值给Loader就可以了。</p>
<h2 id="可以用代码创建动效吗"><a href="#可以用代码创建动效吗" class="headerlink" title="可以用代码创建动效吗"></a>可以用代码创建动效吗</h2><p>动效（Transition）是为了编辑器里可视化设计提出的一个概念。如果你是全部用代码来设计UI元件的动作，那就不需要用动效了，直接用Tween来完成。可以用DoTween或者FairyGUI内置的GTween。</p>
<h2 id="创建的Tweener调用kill-false-时偶尔会将正在播放的其他动效暂停"><a href="#创建的Tweener调用kill-false-时偶尔会将正在播放的其他动效暂停" class="headerlink" title="创建的Tweener调用kill(false)时偶尔会将正在播放的其他动效暂停"></a>创建的Tweener调用kill(false)时偶尔会将正在播放的其他动效暂停</h2><p>GTweener是重用的。注意检查你的所有代码，不要重用或者误用GTweener实例，也就是说，Tween一旦结束，GTweener实例就不要再使用了，更加不要去kill。一般建议不要保存GTweener实例。</p>

    
    <div class="footer">
      发现错误或想贡献文档?
      <a href="https://github.com/fairygui/fairygui.github.io/tree/master/src/guide/unity/faq.md" target="_blank">
        在 Github 上编辑此文档!
      </a>
    </div>
</div>

                
            </div>
            <script src="/docs/js/smooth-scroll.min.js"></script>
        

        <!-- main custom script for sidebars, version selects etc. -->        
        <script src="/docs/js/css.escape.js"></script>
        <script src="/docs/js/common.js"></script>
    </body>
</html>
